Page({
  data: {
    inviteCode: '',
    studentId: ''
  },

  onShareAppMessage() {
    return {};
  },

  // 返回上一页
  handleBack() {
    wx.navigateBack({
      delta: 1
    });
  },

  // 处理微信注册
  async handleWechatRegister() {
    try {
      // 获取用户信息
      const userInfoRes = await wx.getUserProfile({
        desc: '用于完善用户资料'
      });

      // 调用注册云函数
      const registerRes = await wx.cloud.callFunction({
        name: 'register',
        data: {
          type: 'user',
          userInfo: userInfoRes.userInfo,
          extraData: {
            studentId: this.data.studentId || '',
            inviteCode: this.data.inviteCode || ''
          }
        }
      });

      if (registerRes.result && registerRes.result.error) {
        // 检查是否是重复注册的错误
        if (registerRes.result.error.includes('Duplicate entry') && registerRes.result.error.includes('uk_openid')) {
          // 显示提示
          wx.showModal({
            title: '提示',
            content: '您已经注册过了，即将跳转到登录页面',
            showCancel: false,
            success: () => {
              // 跳转到登录页面
              wx.reLaunch({
                url: '/pages/auth/login/index'
              });
            }
          });
          return;
        }
        throw new Error(registerRes.result.error);
      }

      // 保存用户信息到本地
      wx.setStorageSync('userInfo', {
        ...userInfoRes.userInfo,
        userId: registerRes.result.userId,
        studentId: this.data.studentId || '',
        inviteCode: this.data.inviteCode || ''
      });

      // 注册成功，跳转到用户主页
      wx.reLaunch({
        url: '/pages/user/home/index'
      });

    } catch (error) {
      console.error('注册失败:', error);
      wx.showToast({
        title: '注册失败，请重试',
        icon: 'none'
      });
    }
  },

  // 跳转到负责人注册页
  handleManagerRegister() {
    wx.navigateTo({
      url: '../register-manager/index'
    });
  }
});